<?php
include_once $_SERVER['DOCUMENT_ROOT'].'/Par-Ideal/PROJETO/src/bean/Cliente.php';
include_once $_SERVER['DOCUMENT_ROOT'].'/Par-Ideal/PROJETO/src/util/Conexao.php';


class PreferenciasDao{
	
	public function Inserir(Cliente $cliente){
		$conexao = Conexao::Conecta();
		
		$sql= "insert into preferencias ( id_cliente, cor_cabelo, cor_pele, faixa_etaria_Max, faixa_etaria_Min, sexo)
			values (?,?,?,?,?,?);";
		
		if (!($stmt = $conexao->prepare($sql))) {
  			echo "Falha no stmt (Preferencias.Inserir): (" . $conexao->errno . ") ";
  			 print_r($stmt->errorInfo());
		}	
		
		$preferencias = $cliente->getPreferencias();
					
		$stmt->bindParam("1", $cliente->id, PDO::PARAM_INT);
		$stmt->bindParam("2", $preferencias->corCabelo, PDO::PARAM_INT);
		$stmt->bindParam("3", $preferencias->corPele, PDO::PARAM_INT);
		$stmt->bindParam("4", $preferencias->faixaEtariaMAX, PDO::PARAM_INT);
		$stmt->bindParam("5", $preferencias->faixaEtariaMIN, PDO::PARAM_INT);
		$stmt->bindParam("6", $preferencias->sexo, PDO::PARAM_STR, 1);		
		
		$stmt->execute();
		if (!$stmt) {
   			 echo "Erro ao executar (Preferencias.Inserir): (" . $conexao->errorCode() . ") ";
   			 print_r($stmt->errorInfo());
		}
		
		
		$stmt = null;
		$conexao = null;
		
	}
	
	/**
	 *Busca a preferencia de um cliente pelo sei id 
	 * @param int $id
	 */	
	public function buscarById($id){
		$conexao = Conexao::Conecta();
		
		$preferencias = null;
		
		$sql = "select * from preferencias where id_cliente = ".$id."";
		$consulta = $conexao->query($sql);	
		
		while ($linha = $consulta->fetch(PDO::FETCH_ASSOC)) {		
			 $preferencias = new Preferencias();	
			 
			 $preferencias->setCorCabelo($linha['cor_cabelo']);
			 $preferencias->setCorPele($linha['cor_pele']);
			 $preferencias->SetFaixaEtariaMAX($linha['faixa_etaria_Max']);
			 $preferencias->setFaixaEtariaMIN($linha['faixa_etaria_Min']);
			 $preferencias->setSexo($linha['sexo']);
	    }	    
	    
		$conexao=null;
		
		return $preferencias;
		
		
	}
	
	/**
	 *Atualiza as preferencias de um cliente 
	 * @param Cliente $cliente
	 */
	public function atualizar(Cliente $cliente){
		$conexao = Conexao::Conecta();
		
		$sql= "update preferencias set cor_cabelo = ? , cor_pele = ? , faixa_etaria_Max = ? , faixa_etaria_Min = ? , sexo = ? 
			where id_cliente = ?";
		
		if (!($stmt = $conexao->prepare($sql))) {
  			echo "Falha no stmt(Preferencias.Alterar): (" . $conexao->errno . ") ";
  			 print_r($stmt->errorInfo());
		}	
		
		$preferencias = $cliente->getPreferencias();
							
		$stmt->bindParam("1", $preferencias->corCabelo);
		$stmt->bindParam("2", $preferencias->corPele);
		$stmt->bindParam("3", $preferencias->faixaEtariaMAX);
		$stmt->bindParam("4", $preferencias->faixaEtariaMIN);
		$stmt->bindParam("5", $preferencias->sexo);	
		$stmt->bindParam("6", $cliente->id);		
		
		if (!$stmt->execute()) {
   			 echo "Erro ao executar (Preferencias.Alterar): (" . $conexao->errorCode() . ") ";
   			 print_r($stmt->errorInfo());
		}
		
		$stmt = null;
		$conexao = null;
		
	}
	
	
		
	
	
	
}

?>